Exercice 1

X(X1,…..,Xn) iid –> loi normale N(u,o) + Loi uniforme U([-a;a])

Question 1

Generation d’un echantillon de taille n= 10 pour unr valeur Teta fixe

Ce modele permet de gerer les valeurs aberantes automatiquement.

Em va permettre de resoudre numeriquement ce type de probleme ou une variable n’est pas reelelemtn connue (VARIABLE CACHE), ici c’est la provenance du x, est-ce une gaussienne ou une loie uniforme.

n=100
a = 5
c= 1/(2*a)
teta = 10
mu = 0
sigma = 1
pi = 0.9 
prop = rbinom(n, 1, pi)
prop
  [1] 1 1 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1
 [63] 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1

Dans un premier temps on genere la proportion de variables qui vont etre generer par loi normale et loi uniforme. Pour cela, tirage aleatoire de bernouilli. Ici 90% vont etre generee par une varibale normale et 10% par unirfome, ces 10% correspondent aux valeurs aberantes qu’on veut generer.

ifelse() = for et if en une seule fois, parcours tableau et fonctionne comme un ternaire.

x <- ifelse(prop == 1, rnorm(n, mu, sigma), runif(n, -a, a))

x <- y * rnorm(n, mu, sigma) + (1-y) * runif(n, -a, a) Fonctionne de la meme maniere

Diagramme en boite

boxplot(x)

Typiquement, la presence des valeurs aberantes est du au melange. Si on avait qu’une loi normale, on n’aurait pas ces valeurs. Ainsi pour faire de l’apprentissage en se basant sur une loi normale, il faut pas de valeur aberante. EM va permettre de les corriger.

Recherche des valeurs aberantes

which(x < -4)
[1] 75 81
x[which(x < -4)]
[1] -4.971360 -4.694309
prop[which(x < -4)]
[1] 0 0

On verifie ainsi que ces valeurs aberantes proviennents bien de la loi uniforme.

Question 2

Algortihme de EM

Explication EM calculs

E-step
  1. On veut maximiser log(p(x)), on suppose qu’on connait y pour simplifier le fonctionnement. Pour cela, on remplace y par son esperance. Du plus on fixe son teta pour estimer les y.
  2. comme on suppose iid –> produit
  3. On developpe esperance
  4. On se fixe un indice i et on developpe la fonction de densite en utilisant les proba conditionneles. Puis log et esperances (on calcul un terme de la somme)
  5. qi c’est le parametre du bernouilli
M-step
  1. On cherche a maximiser l’expression (derivation par rapport a pi, mu et sigma)

Question 3

dunif(x,-a,a) = c dans un cas plus general

mum = 9
sigmam = 8
pim = 0.2
tol = 1e-200
qim <- rep(1,n)
it = 0 
while (TRUE){
  it = it + 1 
  qi <- qim
  qim = (dnorm(x,mum,sigmam)*pim) / (dnorm(x,mum,sigmam)*pim + (1-pim)*dunif(x,-a,a))
  
  if (mean((qi-qim)^2) < tol)
    break
  
  pim = mean(qim)
  mum = sum(qim*x)/sum(qim)
  sigmam = sqrt((sum(qim*(x-mum)^2))/sum(qim))
}
mum
[1] -0.03713645
sigmam
[1] 0.848623
pim
[1] 0.8629525
it
[1] 126

Estimation naive

Estimation naive (sans prendre en compte les valeurs aberantes), comme si les valeurs etaient une loi uniforme parfaite.

mean(x)
[1] 0.006945389
sd(x)
[1] 1.358401

Em arrive bien a retrouver le vrai ecart type par rapport a l’estimation naive

Trace probabilite estimees, 1-yi en fonction xi

plot(x, 1-qi)

C’est la probabilite que la valeur soit aberantes (i.e issue de la loie uniforme) –> plus on s’eloigne de l’esperance, plus la proba est forte.

Question 4

loglikminus <- function(theta){
  mum <- theta[1]
  sigmam <- theta[2]
  pim <- theta[3]
  -sum(log(dnorm(x, mum, sigmam) * pim + (1 - pim) * dunif(x, -a, a)))
}

On veut l’optimiser : optim()

optim(c(2, 2, 0.6), loglikminus)
NaNs producedNaNs producedNaNs producedNaNs producedNaNs produced
$par
[1] -0.03702247  0.84864558  0.86294999

$value
[1] 157.2963

$counts
function gradient 
     126       NA 

$convergence
[1] 0

$message
NULL

Minus car optim minimise les differents problemes. Mais ne garantie pas que c’est un minimum global. De plus cela foncitonne uniquement car les dimensions sont faibles.

Exercice 2

WINE

library(mclust)
    __  ___________    __  _____________
   /  |/  / ____/ /   / / / / ___/_  __/
  / /|_/ / /   / /   / / / /\__ \ / /   
 / /  / / /___/ /___/ /_/ /___/ // /    
/_/  /_/\____/_____/\____//____//_/    version 5.4.1
Type 'citation("mclust")' for citing this R package in publications.
data <- read.table("Wine-20181122/wine.txt")
data
Y <- data[-1]
head(Y)

Package Mclust :

  • data
  • G : nombre de melange
  • modelNames : on peut tester des modeles differents
res <- Mclust(data = Y,  G = 3, modelNames = "EII")
fitting ...

  |                                                                                                                             
  |                                                                                                                       |   0%
  |                                                                                                                             
  |============================================================                                                           |  50%
  |                                                                                                                             
  |=======================================================================================================================| 100%
res
'Mclust' model object: (EII,3) 

Available components: 
 [1] "call"           "data"           "modelName"      "n"              "d"              "G"              "BIC"           
 [8] "bic"            "loglik"         "df"             "hypvol"         "parameters"     "z"              "classification"
[15] "uncertainty"   

res\(G = meilleur melange res\)classification = quelles sont les classes obtenues ici

res$G
[1] 3
res$classification
  [1] 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 3 3 1 1 3 1 1 1 1 1 1 3 3 1 1 3 3 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 3 2
 [63] 3 2 2 3 2 2 3 3 3 2 2 1 3 2 2 2 3 2 2 3 3 2 2 2 2 2 3 3 2 2 2 2 2 3 3 2 3 2 3 2 2 2 3 2 2 2 2 3 2 2 3 2 2 2 2 2 2 2 3 2 2 2
[125] 2 2 2 2 2 2 3 2 2 3 3 3 3 2 2 2 3 3 2 2 3 3 2 3 3 2 2 2 2 3 3 3 2 3 3 3 2 3 2 3 3 2 3 3 3 3 2 2 3 3 3 3 3 2
data$V1
  [1] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2
 [63] 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
[125] 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3

Difficiel de comparer les deux, choix du label independant. On utilise adjustedRandIndex pour savoir si des classifications sont proches ou pas

adjustedRandIndex(res$classification, data$V1)
[1] 0.3711137

Cet indice est inferieur a 1. PLus on se rapporche de 1, plus elles sont egales. (si =1, elles sont egales aux labels pres) Ici c’est pas terrible.

On ne se restreind pas sur le modele

res <- Mclust(data = Y,  G = 3)
fitting ...

  |                                                                                                                             
  |                                                                                                                       |   0%
  |                                                                                                                             
  |========                                                                                                               |   7%
  |                                                                                                                             
  |================                                                                                                       |  13%
  |                                                                                                                             
  |========================                                                                                               |  20%
  |                                                                                                                             
  |================================                                                                                       |  27%
  |                                                                                                                             
  |========================================                                                                               |  33%
  |                                                                                                                             
  |================================================                                                                       |  40%
  |                                                                                                                             
  |========================================================                                                               |  47%
  |                                                                                                                             
  |===============================================================                                                        |  53%
  |                                                                                                                             
  |=======================================================================                                                |  60%
  |                                                                                                                             
  |===============================================================================                                        |  67%
  |                                                                                                                             
  |=======================================================================================                                |  73%
  |                                                                                                                             
  |===============================================================================================                        |  80%
  |                                                                                                                             
  |=======================================================================================================                |  87%
  |                                                                                                                             
  |===============================================================================================================        |  93%
  |                                                                                                                             
  |=======================================================================================================================| 100%
res
'Mclust' model object: (VVE,3) 

Available components: 
 [1] "call"           "data"           "modelName"      "n"              "d"              "G"              "BIC"           
 [8] "bic"            "loglik"         "df"             "hypvol"         "parameters"     "z"              "classification"
[15] "uncertainty"   
res$classification
  [1] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2
 [63] 2 2 2 2 2 2 2 2 3 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
[125] 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
data$V1
  [1] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2
 [63] 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
[125] 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
adjustedRandIndex(res$classification, data$V1)
[1] 0.9667411
res$modelName
[1] "VVE"

Si on a pas le nombnre de melange, on se base sur la complexite du modele par un Bic et le nombre de gaussienne. Ici on a des donnees de classes donc on est plus precis. Ici le meilleur modele est : ellipsoidale avec la meme orientation.

Independant du label

clas <- c("a", "b", "c")[res$classification]
clas
  [1] "a" "a" "a" "a" "a" "a" "a" "a" "a" "a" "a" "a" "a" "a" "a" "a" "a" "a" "a" "a" "a" "a" "a" "a" "a" "a" "a" "a" "a" "a" "a"
 [32] "a" "a" "a" "a" "a" "a" "a" "a" "a" "a" "a" "a" "a" "a" "a" "a" "a" "a" "a" "a" "a" "a" "a" "a" "a" "a" "a" "a" "b" "b" "b"
 [63] "b" "b" "b" "b" "b" "b" "b" "b" "c" "b" "b" "b" "b" "b" "b" "b" "b" "b" "b" "b" "b" "b" "b" "b" "b" "b" "b" "b" "b" "b" "b"
 [94] "b" "b" "b" "c" "b" "b" "b" "b" "b" "b" "b" "b" "b" "b" "b" "b" "b" "b" "b" "b" "b" "b" "b" "b" "b" "b" "b" "b" "b" "b" "b"
[125] "b" "b" "b" "b" "b" "b" "c" "c" "c" "c" "c" "c" "c" "c" "c" "c" "c" "c" "c" "c" "c" "c" "c" "c" "c" "c" "c" "c" "c" "c" "c"
[156] "c" "c" "c" "c" "c" "c" "c" "c" "c" "c" "c" "c" "c" "c" "c" "c" "c" "c" "c" "c" "c" "c" "c"
adjustedRandIndex(clas, data$V1)
[1] 0.9667411

On retrouve la meme valeur. L’index de rand marche aussi si le nombre d’ensemble dans 2 partitions sont differents

res <- Mclust(data = Y, G = 4)
fitting ...

  |                                                                                                                             
  |                                                                                                                       |   0%
  |                                                                                                                             
  |========                                                                                                               |   7%
  |                                                                                                                             
  |================                                                                                                       |  13%
  |                                                                                                                             
  |========================                                                                                               |  20%
  |                                                                                                                             
  |================================                                                                                       |  27%
  |                                                                                                                             
  |========================================                                                                               |  33%
  |                                                                                                                             
  |================================================                                                                       |  40%
  |                                                                                                                             
  |========================================================                                                               |  47%
  |                                                                                                                             
  |===============================================================                                                        |  53%
  |                                                                                                                             
  |=======================================================================                                                |  60%
  |                                                                                                                             
  |===============================================================================                                        |  67%
  |                                                                                                                             
  |=======================================================================================                                |  73%
  |                                                                                                                             
  |===============================================================================================                        |  80%
  |                                                                                                                             
  |=======================================================================================================                |  87%
  |                                                                                                                             
  |===============================================================================================================        |  93%
  |                                                                                                                             
  |=======================================================================================================================| 100%
adjustedRandIndex(res$classification, data$V1)
[1] 0.8174383
plot(res, what = "BIC")

res <- Mclust(data = Y)
fitting ...

  |                                                                                                                             
  |                                                                                                                       |   0%
  |                                                                                                                             
  |=                                                                                                                      |   1%
  |                                                                                                                             
  |==                                                                                                                     |   2%
  |                                                                                                                             
  |===                                                                                                                    |   2%
  |                                                                                                                             
  |====                                                                                                                   |   3%
  |                                                                                                                             
  |=====                                                                                                                  |   4%
  |                                                                                                                             
  |======                                                                                                                 |   5%
  |                                                                                                                             
  |=======                                                                                                                |   6%
  |                                                                                                                             
  |========                                                                                                               |   7%
  |                                                                                                                             
  |=========                                                                                                              |   8%
  |                                                                                                                             
  |==========                                                                                                             |   9%
  |                                                                                                                             
  |===========                                                                                                            |   9%
  |                                                                                                                             
  |============                                                                                                           |  10%
  |                                                                                                                             
  |=============                                                                                                          |  11%
  |                                                                                                                             
  |==============                                                                                                         |  12%
  |                                                                                                                             
  |===============                                                                                                        |  13%
  |                                                                                                                             
  |================                                                                                                       |  13%
  |                                                                                                                             
  |=================                                                                                                      |  14%
  |                                                                                                                             
  |==================                                                                                                     |  15%
  |                                                                                                                             
  |===================                                                                                                    |  16%
  |                                                                                                                             
  |====================                                                                                                   |  17%
  |                                                                                                                             
  |=====================                                                                                                  |  17%
  |                                                                                                                             
  |======================                                                                                                 |  18%
  |                                                                                                                             
  |======================                                                                                                 |  19%
  |                                                                                                                             
  |=======================                                                                                                |  20%
  |                                                                                                                             
  |========================                                                                                               |  20%
  |                                                                                                                             
  |=========================                                                                                              |  21%
  |                                                                                                                             
  |==========================                                                                                             |  22%
  |                                                                                                                             
  |===========================                                                                                            |  23%
  |                                                                                                                             
  |============================                                                                                           |  24%
  |                                                                                                                             
  |=============================                                                                                          |  24%
  |                                                                                                                             
  |==============================                                                                                         |  25%
  |                                                                                                                             
  |===============================                                                                                        |  26%
  |                                                                                                                             
  |================================                                                                                       |  27%
  |                                                                                                                             
  |=================================                                                                                      |  28%
  |                                                                                                                             
  |==================================                                                                                     |  28%
  |                                                                                                                             
  |===================================                                                                                    |  29%
  |                                                                                                                             
  |====================================                                                                                   |  30%
  |                                                                                                                             
  |=====================================                                                                                  |  31%
  |                                                                                                                             
  |======================================                                                                                 |  32%
  |                                                                                                                             
  |=======================================                                                                                |  33%
  |                                                                                                                             
  |========================================                                                                               |  34%
  |                                                                                                                             
  |=========================================                                                                              |  35%
  |                                                                                                                             
  |==========================================                                                                             |  35%
  |                                                                                                                             
  |===========================================                                                                            |  36%
  |                                                                                                                             
  |============================================                                                                           |  37%
  |                                                                                                                             
  |=============================================                                                                          |  38%
  |                                                                                                                             
  |==============================================                                                                         |  39%
  |                                                                                                                             
  |===============================================                                                                        |  39%
  |                                                                                                                             
  |================================================                                                                       |  40%
  |                                                                                                                             
  |=================================================                                                                      |  41%
  |                                                                                                                             
  |==================================================                                                                     |  42%
  |                                                                                                                             
  |===================================================                                                                    |  43%
  |                                                                                                                             
  |====================================================                                                                   |  43%
  |                                                                                                                             
  |====================================================                                                                   |  44%
  |                                                                                                                             
  |=====================================================                                                                  |  45%
  |                                                                                                                             
  |======================================================                                                                 |  46%
  |                                                                                                                             
  |=======================================================                                                                |  46%
  |                                                                                                                             
  |========================================================                                                               |  47%
  |                                                                                                                             
  |=========================================================                                                              |  48%
  |                                                                                                                             
  |==========================================================                                                             |  49%
  |                                                                                                                             
  |===========================================================                                                            |  50%
  |                                                                                                                             
  |============================================================                                                           |  50%
  |                                                                                                                             
  |=============================================================                                                          |  51%
  |                                                                                                                             
  |==============================================================                                                         |  52%
  |                                                                                                                             
  |===============================================================                                                        |  53%
  |                                                                                                                             
  |================================================================                                                       |  54%
  |                                                                                                                             
  |=================================================================                                                      |  54%
  |                                                                                                                             
  |==================================================================                                                     |  55%
  |                                                                                                                             
  |===================================================================                                                    |  56%
  |                                                                                                                             
  |===================================================================                                                    |  57%
  |                                                                                                                             
  |====================================================================                                                   |  57%
  |                                                                                                                             
  |=====================================================================                                                  |  58%
  |                                                                                                                             
  |======================================================================                                                 |  59%
  |                                                                                                                             
  |=======================================================================                                                |  60%
  |                                                                                                                             
  |========================================================================                                               |  61%
  |                                                                                                                             
  |=========================================================================                                              |  61%
  |                                                                                                                             
  |==========================================================================                                             |  62%
  |                                                                                                                             
  |===========================================================================                                            |  63%
  |                                                                                                                             
  |============================================================================                                           |  64%
  |                                                                                                                             
  |=============================================================================                                          |  65%
  |                                                                                                                             
  |==============================================================================                                         |  65%
  |                                                                                                                             
  |===============================================================================                                        |  66%
  |                                                                                                                             
  |================================================================================                                       |  67%
  |                                                                                                                             
  |=================================================================================                                      |  68%
  |                                                                                                                             
  |==================================================================================                                     |  69%
  |                                                                                                                             
  |===================================================================================                                    |  70%
  |                                                                                                                             
  |====================================================================================                                   |  71%
  |                                                                                                                             
  |=====================================================================================                                  |  72%
  |                                                                                                                             
  |======================================================================================                                 |  72%
  |                                                                                                                             
  |=======================================================================================                                |  73%
  |                                                                                                                             
  |========================================================================================                               |  74%
  |                                                                                                                             
  |=========================================================================================                              |  75%
  |                                                                                                                             
  |==========================================================================================                             |  76%
  |                                                                                                                             
  |===========================================================================================                            |  76%
  |                                                                                                                             
  |============================================================================================                           |  77%
  |                                                                                                                             
  |=============================================================================================                          |  78%
  |                                                                                                                             
  |==============================================================================================                         |  79%
  |                                                                                                                             
  |===============================================================================================                        |  80%
  |                                                                                                                             
  |================================================================================================                       |  80%
  |                                                                                                                             
  |=================================================================================================                      |  81%
  |                                                                                                                             
  |=================================================================================================                      |  82%
  |                                                                                                                             
  |==================================================================================================                     |  83%
  |                                                                                                                             
  |===================================================================================================                    |  83%
  |                                                                                                                             
  |====================================================================================================                   |  84%
  |                                                                                                                             
  |=====================================================================================================                  |  85%
  |                                                                                                                             
  |======================================================================================================                 |  86%
  |                                                                                                                             
  |=======================================================================================================                |  87%
  |                                                                                                                             
  |========================================================================================================               |  87%
  |                                                                                                                             
  |=========================================================================================================              |  88%
  |                                                                                                                             
  |==========================================================================================================             |  89%
  |                                                                                                                             
  |===========================================================================================================            |  90%
  |                                                                                                                             
  |============================================================================================================           |  91%
  |                                                                                                                             
  |=============================================================================================================          |  91%
  |                                                                                                                             
  |==============================================================================================================         |  92%
  |                                                                                                                             
  |===============================================================================================================        |  93%
  |                                                                                                                             
  |================================================================================================================       |  94%
  |                                                                                                                             
  |=================================================================================================================      |  95%
  |                                                                                                                             
  |==================================================================================================================     |  96%
  |                                                                                                                             
  |===================================================================================================================    |  97%
  |                                                                                                                             
  |====================================================================================================================   |  98%
  |                                                                                                                             
  |=====================================================================================================================  |  98%
  |                                                                                                                             
  |====================================================================================================================== |  99%
  |                                                                                                                             
  |=======================================================================================================================| 100%
plot(res, what = "BIC")

plot(res, what = "classification")

plot(res, what = "density")

SEEDS

library(mclust)
data <- read.table("Seeds-20181122/seeds.txt")
head(data)
Y <- data[-8]
head(Y)
res <- Mclust(Y)
fitting ...

  |                                                                                                                             
  |                                                                                                                       |   0%
  |                                                                                                                             
  |=                                                                                                                      |   1%
  |                                                                                                                             
  |==                                                                                                                     |   2%
  |                                                                                                                             
  |===                                                                                                                    |   2%
  |                                                                                                                             
  |====                                                                                                                   |   3%
  |                                                                                                                             
  |=====                                                                                                                  |   4%
  |                                                                                                                             
  |======                                                                                                                 |   5%
  |                                                                                                                             
  |=======                                                                                                                |   6%
  |                                                                                                                             
  |========                                                                                                               |   7%
  |                                                                                                                             
  |=========                                                                                                              |   8%
  |                                                                                                                             
  |==========                                                                                                             |   9%
  |                                                                                                                             
  |===========                                                                                                            |   9%
  |                                                                                                                             
  |============                                                                                                           |  10%
  |                                                                                                                             
  |=============                                                                                                          |  11%
  |                                                                                                                             
  |==============                                                                                                         |  12%
  |                                                                                                                             
  |===============                                                                                                        |  13%
  |                                                                                                                             
  |================                                                                                                       |  13%
  |                                                                                                                             
  |=================                                                                                                      |  14%
  |                                                                                                                             
  |==================                                                                                                     |  15%
  |                                                                                                                             
  |===================                                                                                                    |  16%
  |                                                                                                                             
  |====================                                                                                                   |  17%
  |                                                                                                                             
  |=====================                                                                                                  |  17%
  |                                                                                                                             
  |======================                                                                                                 |  18%
  |                                                                                                                             
  |======================                                                                                                 |  19%
  |                                                                                                                             
  |=======================                                                                                                |  20%
  |                                                                                                                             
  |========================                                                                                               |  20%
  |                                                                                                                             
  |=========================                                                                                              |  21%
  |                                                                                                                             
  |==========================                                                                                             |  22%
  |                                                                                                                             
  |===========================                                                                                            |  23%
  |                                                                                                                             
  |============================                                                                                           |  24%
  |                                                                                                                             
  |=============================                                                                                          |  24%
  |                                                                                                                             
  |==============================                                                                                         |  25%
  |                                                                                                                             
  |===============================                                                                                        |  26%
  |                                                                                                                             
  |================================                                                                                       |  27%
  |                                                                                                                             
  |=================================                                                                                      |  28%
  |                                                                                                                             
  |==================================                                                                                     |  28%
  |                                                                                                                             
  |===================================                                                                                    |  29%
  |                                                                                                                             
  |====================================                                                                                   |  30%
  |                                                                                                                             
  |=====================================                                                                                  |  31%
  |                                                                                                                             
  |======================================                                                                                 |  32%
  |                                                                                                                             
  |=======================================                                                                                |  33%
  |                                                                                                                             
  |========================================                                                                               |  34%
  |                                                                                                                             
  |=========================================                                                                              |  35%
  |                                                                                                                             
  |==========================================                                                                             |  35%
  |                                                                                                                             
  |===========================================                                                                            |  36%
  |                                                                                                                             
  |============================================                                                                           |  37%
  |                                                                                                                             
  |=============================================                                                                          |  38%
  |                                                                                                                             
  |==============================================                                                                         |  39%
  |                                                                                                                             
  |===============================================                                                                        |  39%
  |                                                                                                                             
  |================================================                                                                       |  40%
  |                                                                                                                             
  |=================================================                                                                      |  41%
  |                                                                                                                             
  |==================================================                                                                     |  42%
  |                                                                                                                             
  |===================================================                                                                    |  43%
  |                                                                                                                             
  |====================================================                                                                   |  43%
  |                                                                                                                             
  |====================================================                                                                   |  44%
  |                                                                                                                             
  |=====================================================                                                                  |  45%
  |                                                                                                                             
  |======================================================                                                                 |  46%
  |                                                                                                                             
  |=======================================================                                                                |  46%
  |                                                                                                                             
  |========================================================                                                               |  47%
  |                                                                                                                             
  |=========================================================                                                              |  48%
  |                                                                                                                             
  |==========================================================                                                             |  49%
  |                                                                                                                             
  |===========================================================                                                            |  50%
  |                                                                                                                             
  |============================================================                                                           |  50%
  |                                                                                                                             
  |=============================================================                                                          |  51%
  |                                                                                                                             
  |==============================================================                                                         |  52%
  |                                                                                                                             
  |===============================================================                                                        |  53%
  |                                                                                                                             
  |================================================================                                                       |  54%
  |                                                                                                                             
  |=================================================================                                                      |  54%
  |                                                                                                                             
  |==================================================================                                                     |  55%
  |                                                                                                                             
  |===================================================================                                                    |  56%
  |                                                                                                                             
  |===================================================================                                                    |  57%
  |                                                                                                                             
  |====================================================================                                                   |  57%
  |                                                                                                                             
  |=====================================================================                                                  |  58%
  |                                                                                                                             
  |======================================================================                                                 |  59%
  |                                                                                                                             
  |=======================================================================                                                |  60%
  |                                                                                                                             
  |========================================================================                                               |  61%
  |                                                                                                                             
  |=========================================================================                                              |  61%
  |                                                                                                                             
  |==========================================================================                                             |  62%
  |                                                                                                                             
  |===========================================================================                                            |  63%
  |                                                                                                                             
  |============================================================================                                           |  64%
  |                                                                                                                             
  |=============================================================================                                          |  65%
  |                                                                                                                             
  |==============================================================================                                         |  65%
  |                                                                                                                             
  |===============================================================================                                        |  66%
  |                                                                                                                             
  |================================================================================                                       |  67%
  |                                                                                                                             
  |=================================================================================                                      |  68%
  |                                                                                                                             
  |==================================================================================                                     |  69%
  |                                                                                                                             
  |===================================================================================                                    |  70%
  |                                                                                                                             
  |====================================================================================                                   |  71%
  |                                                                                                                             
  |=====================================================================================                                  |  72%
  |                                                                                                                             
  |======================================================================================                                 |  72%
  |                                                                                                                             
  |=======================================================================================                                |  73%
  |                                                                                                                             
  |========================================================================================                               |  74%
  |                                                                                                                             
  |=========================================================================================                              |  75%
  |                                                                                                                             
  |==========================================================================================                             |  76%
  |                                                                                                                             
  |===========================================================================================                            |  76%
  |                                                                                                                             
  |============================================================================================                           |  77%
  |                                                                                                                             
  |=============================================================================================                          |  78%
  |                                                                                                                             
  |==============================================================================================                         |  79%
  |                                                                                                                             
  |===============================================================================================                        |  80%
  |                                                                                                                             
  |================================================================================================                       |  80%
  |                                                                                                                             
  |=================================================================================================                      |  81%
  |                                                                                                                             
  |=================================================================================================                      |  82%
  |                                                                                                                             
  |==================================================================================================                     |  83%
  |                                                                                                                             
  |===================================================================================================                    |  83%
  |                                                                                                                             
  |====================================================================================================                   |  84%
  |                                                                                                                             
  |=====================================================================================================                  |  85%
  |                                                                                                                             
  |======================================================================================================                 |  86%
  |                                                                                                                             
  |=======================================================================================================                |  87%
  |                                                                                                                             
  |========================================================================================================               |  87%
  |                                                                                                                             
  |=========================================================================================================              |  88%
  |                                                                                                                             
  |==========================================================================================================             |  89%
  |                                                                                                                             
  |===========================================================================================================            |  90%
  |                                                                                                                             
  |============================================================================================================           |  91%
  |                                                                                                                             
  |=============================================================================================================          |  91%
  |                                                                                                                             
  |==============================================================================================================         |  92%
  |                                                                                                                             
  |===============================================================================================================        |  93%
  |                                                                                                                             
  |================================================================================================================       |  94%
  |                                                                                                                             
  |=================================================================================================================      |  95%
  |                                                                                                                             
  |==================================================================================================================     |  96%
  |                                                                                                                             
  |===================================================================================================================    |  97%
  |                                                                                                                             
  |====================================================================================================================   |  98%
  |                                                                                                                             
  |=====================================================================================================================  |  98%
  |                                                                                                                             
  |====================================================================================================================== |  99%
  |                                                                                                                             
  |=======================================================================================================================| 100%
res$classification
  [1] 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 1 1 3 3 1 1 3 1 1 3 3 1 3 3 1 3 3 1 1 1 2 1 1 3 3 3 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 3 4 4
 [63] 3 3 3 3 1 3 1 3 2 1 2 2 1 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2
[125] 1 2 2 2 2 2 2 2 1 1 1 1 2 1 1 1 3 3 3 3 4 4 4 3 3 4 4 4 4 4 4 4 4 4 4 4 3 3 4 3 4 3 3 3 4 4 4 4 4 4 4 4 4 4 4 3 4 3 3 4 3 4
[187] 4 4 4 4 4 4 3 4 3 3 3 3 3 3 3 3 4 3 3 3 4 3 4 3
adjustedRandIndex(res$classification, data$V8)
[1] 0.4813405
summary(res)
---------------------------------------------------- 
Gaussian finite mixture model fitted by EM algorithm 
---------------------------------------------------- 

Mclust EEV (ellipsoidal, equal volume and shape) model with 4 components: 

Clustering table:
 1  2  3  4 
59 56 53 42 
res <- Mclust(Y, modelNames = "EEV")
fitting ...

  |                                                                                                                             
  |                                                                                                                       |   0%
  |                                                                                                                             
  |============                                                                                                           |  10%
  |                                                                                                                             
  |========================                                                                                               |  20%
  |                                                                                                                             
  |====================================                                                                                   |  30%
  |                                                                                                                             
  |================================================                                                                       |  40%
  |                                                                                                                             
  |============================================================                                                           |  50%
  |                                                                                                                             
  |=======================================================================                                                |  60%
  |                                                                                                                             
  |===================================================================================                                    |  70%
  |                                                                                                                             
  |===============================================================================================                        |  80%
  |                                                                                                                             
  |===========================================================================================================            |  90%
  |                                                                                                                             
  |=======================================================================================================================| 100%
plot(res, what = "BIC")

plot(res, what = "classification")

plot(res, what = "density")

On a 3 classes en vrai mais on aurait besoin de 4 classes pour mieux decrire le jeu de donn??e

res <- Mclust(Y, G= 3)
fitting ...

  |                                                                                                                             
  |                                                                                                                       |   0%
  |                                                                                                                             
  |========                                                                                                               |   7%
  |                                                                                                                             
  |================                                                                                                       |  13%
  |                                                                                                                             
  |========================                                                                                               |  20%
  |                                                                                                                             
  |================================                                                                                       |  27%
  |                                                                                                                             
  |========================================                                                                               |  33%
  |                                                                                                                             
  |================================================                                                                       |  40%
  |                                                                                                                             
  |========================================================                                                               |  47%
  |                                                                                                                             
  |===============================================================                                                        |  53%
  |                                                                                                                             
  |=======================================================================                                                |  60%
  |                                                                                                                             
  |===============================================================================                                        |  67%
  |                                                                                                                             
  |=======================================================================================                                |  73%
  |                                                                                                                             
  |===============================================================================================                        |  80%
  |                                                                                                                             
  |=======================================================================================================                |  87%
  |                                                                                                                             
  |===============================================================================================================        |  93%
  |                                                                                                                             
  |=======================================================================================================================| 100%
res$classification
  [1] 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 3 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3
 [63] 3 1 1 1 1 1 1 3 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
[125] 2 2 2 2 2 2 2 2 1 2 1 1 2 1 1 2 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
[187] 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 1 3 3 3 3 3 1 3 3
adjustedRandIndex(res$classification, data$V8)
[1] 0.7373941
summary(res)
---------------------------------------------------- 
Gaussian finite mixture model fitted by EM algorithm 
---------------------------------------------------- 

Mclust VEV (ellipsoidal, equal shape) model with 3 components: 

Clustering table:
 1  2  3 
70 69 71 

E.COLI

res <- Mclust(Y)
fitting ...

  |                                                                                                                             
  |                                                                                                                       |   0%
  |                                                                                                                             
  |=                                                                                                                      |   1%
  |                                                                                                                             
  |==                                                                                                                     |   2%
  |                                                                                                                             
  |===                                                                                                                    |   2%
  |                                                                                                                             
  |====                                                                                                                   |   3%
  |                                                                                                                             
  |=====                                                                                                                  |   4%
  |                                                                                                                             
  |======                                                                                                                 |   5%
  |                                                                                                                             
  |=======                                                                                                                |   6%
  |                                                                                                                             
  |========                                                                                                               |   7%
  |                                                                                                                             
  |=========                                                                                                              |   8%
  |                                                                                                                             
  |==========                                                                                                             |   9%
  |                                                                                                                             
  |===========                                                                                                            |   9%
  |                                                                                                                             
  |============                                                                                                           |  10%
  |                                                                                                                             
  |=============                                                                                                          |  11%
  |                                                                                                                             
  |==============                                                                                                         |  12%
  |                                                                                                                             
  |===============                                                                                                        |  13%
  |                                                                                                                             
  |================                                                                                                       |  13%
  |                                                                                                                             
  |=================                                                                                                      |  14%
  |                                                                                                                             
  |==================                                                                                                     |  15%
  |                                                                                                                             
  |===================                                                                                                    |  16%
  |                                                                                                                             
  |====================                                                                                                   |  17%
  |                                                                                                                             
  |=====================                                                                                                  |  17%
  |                                                                                                                             
  |======================                                                                                                 |  18%
  |                                                                                                                             
  |======================                                                                                                 |  19%
  |                                                                                                                             
  |=======================                                                                                                |  20%
  |                                                                                                                             
  |========================                                                                                               |  20%
  |                                                                                                                             
  |=========================                                                                                              |  21%
  |                                                                                                                             
  |==========================                                                                                             |  22%
  |                                                                                                                             
  |===========================                                                                                            |  23%
  |                                                                                                                             
  |============================                                                                                           |  24%
  |                                                                                                                             
  |=============================                                                                                          |  24%
  |                                                                                                                             
  |==============================                                                                                         |  25%
  |                                                                                                                             
  |===============================                                                                                        |  26%
  |                                                                                                                             
  |================================                                                                                       |  27%
  |                                                                                                                             
  |=================================                                                                                      |  28%
  |                                                                                                                             
  |==================================                                                                                     |  28%
  |                                                                                                                             
  |===================================                                                                                    |  29%
  |                                                                                                                             
  |====================================                                                                                   |  30%
  |                                                                                                                             
  |=====================================                                                                                  |  31%
  |                                                                                                                             
  |======================================                                                                                 |  32%
  |                                                                                                                             
  |=======================================                                                                                |  33%
  |                                                                                                                             
  |========================================                                                                               |  34%
  |                                                                                                                             
  |=========================================                                                                              |  35%
  |                                                                                                                             
  |==========================================                                                                             |  35%
  |                                                                                                                             
  |===========================================                                                                            |  36%
  |                                                                                                                             
  |============================================                                                                           |  37%
  |                                                                                                                             
  |=============================================                                                                          |  38%
  |                                                                                                                             
  |==============================================                                                                         |  39%
  |                                                                                                                             
  |===============================================                                                                        |  39%
  |                                                                                                                             
  |================================================                                                                       |  40%
  |                                                                                                                             
  |=================================================                                                                      |  41%
  |                                                                                                                             
  |==================================================                                                                     |  42%
  |                                                                                                                             
  |===================================================                                                                    |  43%
  |                                                                                                                             
  |====================================================                                                                   |  43%
  |                                                                                                                             
  |====================================================                                                                   |  44%
  |                                                                                                                             
  |=====================================================                                                                  |  45%
  |                                                                                                                             
  |======================================================                                                                 |  46%
  |                                                                                                                             
  |=======================================================                                                                |  46%
  |                                                                                                                             
  |========================================================                                                               |  47%
  |                                                                                                                             
  |=========================================================                                                              |  48%
  |                                                                                                                             
  |==========================================================                                                             |  49%
  |                                                                                                                             
  |===========================================================                                                            |  50%
  |                                                                                                                             
  |============================================================                                                           |  50%
  |                                                                                                                             
  |=============================================================                                                          |  51%
  |                                                                                                                             
  |==============================================================                                                         |  52%
  |                                                                                                                             
  |===============================================================                                                        |  53%
  |                                                                                                                             
  |================================================================                                                       |  54%
  |                                                                                                                             
  |=================================================================                                                      |  54%
  |                                                                                                                             
  |==================================================================                                                     |  55%
  |                                                                                                                             
  |===================================================================                                                    |  56%
  |                                                                                                                             
  |===================================================================                                                    |  57%
  |                                                                                                                             
  |====================================================================                                                   |  57%
  |                                                                                                                             
  |=====================================================================                                                  |  58%
  |                                                                                                                             
  |======================================================================                                                 |  59%
  |                                                                                                                             
  |=======================================================================                                                |  60%
  |                                                                                                                             
  |========================================================================                                               |  61%
  |                                                                                                                             
  |=========================================================================                                              |  61%
  |                                                                                                                             
  |==========================================================================                                             |  62%
  |                                                                                                                             
  |===========================================================================                                            |  63%
  |                                                                                                                             
  |============================================================================                                           |  64%
  |                                                                                                                             
  |=============================================================================                                          |  65%
  |                                                                                                                             
  |==============================================================================                                         |  65%
  |                                                                                                                             
  |===============================================================================                                        |  66%
  |                                                                                                                             
  |================================================================================                                       |  67%
  |                                                                                                                             
  |=================================================================================                                      |  68%
  |                                                                                                                             
  |==================================================================================                                     |  69%
  |                                                                                                                             
  |===================================================================================                                    |  70%
  |                                                                                                                             
  |====================================================================================                                   |  71%
  |                                                                                                                             
  |=====================================================================================                                  |  72%
  |                                                                                                                             
  |======================================================================================                                 |  72%
  |                                                                                                                             
  |=======================================================================================                                |  73%
  |                                                                                                                             
  |========================================================================================                               |  74%
  |                                                                                                                             
  |=========================================================================================                              |  75%
  |                                                                                                                             
  |==========================================================================================                             |  76%
  |                                                                                                                             
  |===========================================================================================                            |  76%
  |                                                                                                                             
  |============================================================================================                           |  77%
  |                                                                                                                             
  |=============================================================================================                          |  78%
  |                                                                                                                             
  |==============================================================================================                         |  79%
  |                                                                                                                             
  |===============================================================================================                        |  80%
  |                                                                                                                             
  |================================================================================================                       |  80%
  |                                                                                                                             
  |=================================================================================================                      |  81%
  |                                                                                                                             
  |=================================================================================================                      |  82%
  |                                                                                                                             
  |==================================================================================================                     |  83%
  |                                                                                                                             
  |===================================================================================================                    |  83%
  |                                                                                                                             
  |====================================================================================================                   |  84%
  |                                                                                                                             
  |=====================================================================================================                  |  85%
  |                                                                                                                             
  |======================================================================================================                 |  86%
  |                                                                                                                             
  |=======================================================================================================                |  87%
  |                                                                                                                             
  |========================================================================================================               |  87%
  |                                                                                                                             
  |=========================================================================================================              |  88%
  |                                                                                                                             
  |==========================================================================================================             |  89%
  |                                                                                                                             
  |===========================================================================================================            |  90%
  |                                                                                                                             
  |============================================================================================================           |  91%
  |                                                                                                                             
  |=============================================================================================================          |  91%
  |                                                                                                                             
  |==============================================================================================================         |  92%
  |                                                                                                                             
  |===============================================================================================================        |  93%
  |                                                                                                                             
  |================================================================================================================       |  94%
  |                                                                                                                             
  |=================================================================================================================      |  95%
  |                                                                                                                             
  |==================================================================================================================     |  96%
  |                                                                                                                             
  |===================================================================================================================    |  97%
  |                                                                                                                             
  |====================================================================================================================   |  98%
  |                                                                                                                             
  |=====================================================================================================================  |  98%
  |                                                                                                                             
  |====================================================================================================================== |  99%
  |                                                                                                                             
  |=======================================================================================================================| 100%
res$G
[1] 5
res$modelName
[1] "VVE"
res$classification
  [1] 1 1 1 3 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1
 [63] 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 2 1 1 3 1 2 3 1 1 1 1 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1
[125] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 4 4 5 4 4 4 5 4 4 4 4 4 4 4 4 5 4 4 4 4 5 4 4 4 4 4 4 4 4 4 4 5 4 4 4 4 5 4 1 4 4
[187] 4 5 4 2 4 4 4 4 5 4 4 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 2 2 2 2 2 2 5 4 2 4 3 4 4 4 4 4 5 4 4 4 4 4 4 4 5 5 5 4 4 4 4 4 4 4 5 4
[249] 4 4 4 4 5 2 4 4 5 2 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 2 3 3 3 3 3 3 3
[311] 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 1 3 3 3 3 3
adjustedRandIndex(res$classification, data$V9)
[1] 0.6177186
plot(res, what = "BIC")

plot(res, what = "classification")

plot(res, what = "density")

Si on regarde la matrice de variance co-variance des variable 4 et 5, elles devraient etre toute petite

data$V4
  [1] 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48
 [25] 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48
 [49] 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48
 [73] 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48
 [97] 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48
[121] 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48
[145] 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48
[169] 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 1.00 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48
[193] 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48
[217] 0.48 0.48 0.48 0.48 0.48 0.48 1.00 1.00 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48
[241] 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 1.00 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48
[265] 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 1.00 0.48 0.48 0.48 0.48 1.00 1.00 1.00 1.00 1.00 0.48 0.48 0.48 0.48
[289] 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48
[313] 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48 0.48
LS0tCnRpdGxlOiAiVEQ3IC0gRU0iCmF1dGhvcjogIkJvdXJnZW9uIFRoZW9kb3JlIgpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sKLS0tCgojI0V4ZXJjaWNlIDEKWChYMSwuLi4uLixYbikgaWlkIC0tPiBsb2kgbm9ybWFsZSBOKHUsbykgKyBMb2kgdW5pZm9ybWUgVShbLWE7YV0pCgojIyNRdWVzdGlvbiAxCkdlbmVyYXRpb24gZCd1biBlY2hhbnRpbGxvbiBkZSB0YWlsbGUgbj0gMTAgcG91ciB1bnIgdmFsZXVyIFRldGEgZml4ZQoKCkNlIG1vZGVsZSBwZXJtZXQgZGUgZ2VyZXIgbGVzIHZhbGV1cnMgYWJlcmFudGVzIGF1dG9tYXRpcXVlbWVudC4KCkVtIHZhIHBlcm1ldHRyZSBkZSByZXNvdWRyZSBudW1lcmlxdWVtZW50IGNlIHR5cGUgZGUgcHJvYmxlbWUgb3UgdW5lIHZhcmlhYmxlIG4nZXN0IHBhcyByZWVsZWxlbXRuIGNvbm51ZSAoVkFSSUFCTEUgQ0FDSEUpLCBpY2kgYydlc3QgbGEgcHJvdmVuYW5jZSBkdSB4LCBlc3QtY2UgdW5lIGdhdXNzaWVubmUgb3UgdW5lIGxvaWUgdW5pZm9ybWUuIAoKCmBgYHtyfQpuPTEwMAphID0gNQpjPSAxLygyKmEpCgp0ZXRhID0gMTAKbXUgPSAwCnNpZ21hID0gMQpwaSA9IDAuOSAKCnByb3AgPSByYmlub20obiwgMSwgcGkpCnByb3AKYGBgCkRhbnMgdW4gcHJlbWllciB0ZW1wcyBvbiBnZW5lcmUgbGEgcHJvcG9ydGlvbiBkZSB2YXJpYWJsZXMgcXVpIHZvbnQgZXRyZSBnZW5lcmVyIHBhciBsb2kgbm9ybWFsZSBldCBsb2kgdW5pZm9ybWUuIFBvdXIgY2VsYSwgdGlyYWdlIGFsZWF0b2lyZSBkZSBiZXJub3VpbGxpLiBJY2kgOTAlIHZvbnQgZXRyZSBnZW5lcmVlIHBhciB1bmUgdmFyaWJhbGUgbm9ybWFsZSBldCAxMCUgcGFyIHVuaXJmb21lLCBjZXMgMTAlIGNvcnJlc3BvbmRlbnQgYXV4IHZhbGV1cnMgYWJlcmFudGVzIHF1J29uIHZldXQgZ2VuZXJlci4KCgppZmVsc2UoKSA9IGZvciBldCBpZiBlbiB1bmUgc2V1bGUgZm9pcywgcGFyY291cnMgdGFibGVhdSBldCBmb25jdGlvbm5lIGNvbW1lIHVuIHRlcm5haXJlLiAKYGBge3J9CnggPC0gaWZlbHNlKHByb3AgPT0gMSwgcm5vcm0obiwgbXUsIHNpZ21hKSwgcnVuaWYobiwgLWEsIGEpKQpgYGAKeCA8LSB5ICogcm5vcm0obiwgbXUsIHNpZ21hKSAgKyAoMS15KSAqIHJ1bmlmKG4sIC1hLCBhKSBGb25jdGlvbm5lIGRlIGxhIG1lbWUgbWFuaWVyZSAKCkRpYWdyYW1tZSBlbiBib2l0ZQpgYGB7cn0KYm94cGxvdCh4KQpgYGAKVHlwaXF1ZW1lbnQsIGxhIHByZXNlbmNlIGRlcyB2YWxldXJzIGFiZXJhbnRlcyBlc3QgZHUgYXUgbWVsYW5nZS4gU2kgb24gYXZhaXQgcXUndW5lIGxvaSBub3JtYWxlLCBvbiBuJ2F1cmFpdCBwYXMgY2VzIHZhbGV1cnMuIEFpbnNpIHBvdXIgZmFpcmUgZGUgbCdhcHByZW50aXNzYWdlIGVuIHNlIGJhc2FudCBzdXIgdW5lIGxvaSBub3JtYWxlLCBpbCBmYXV0IHBhcyBkZSB2YWxldXIgYWJlcmFudGUuIEVNIHZhIHBlcm1ldHRyZSBkZSBsZXMgY29ycmlnZXIuIAoKClJlY2hlcmNoZSBkZXMgdmFsZXVycyBhYmVyYW50ZXMKYGBge3J9CndoaWNoKHggPCAtNCkKeFt3aGljaCh4IDwgLTQpXQpwcm9wW3doaWNoKHggPCAtNCldCmBgYApPbiB2ZXJpZmllIGFpbnNpIHF1ZSBjZXMgdmFsZXVycyBhYmVyYW50ZXMgcHJvdmllbm5lbnRzIGJpZW4gZGUgbGEgbG9pIHVuaWZvcm1lLiAKCiMjI1F1ZXN0aW9uIDIKIyMjI0FsZ29ydGlobWUgZGUgRU0gCkV4cGxpY2F0aW9uIEVNIGNhbGN1bHMKCiMjIyMjRS1zdGVwCjEuIE9uIHZldXQgbWF4aW1pc2VyIGxvZyhwKHgpKSwgb24gc3VwcG9zZSBxdSdvbiBjb25uYWl0IHkgcG91ciBzaW1wbGlmaWVyIGxlIGZvbmN0aW9ubmVtZW50LiBQb3VyIGNlbGEsIG9uIHJlbXBsYWNlIHkgcGFyIHNvbiBlc3BlcmFuY2UuIER1IHBsdXMgb24gZml4ZSBzb24gdGV0YSBwb3VyIGVzdGltZXIgbGVzIHkuIAoyLiBjb21tZSBvbiBzdXBwb3NlIGlpZCAtLT4gcHJvZHVpdAozLiBPbiBkZXZlbG9wcGUgZXNwZXJhbmNlCjQuIE9uIHNlIGZpeGUgdW4gaW5kaWNlIGkgZXQgb24gZGV2ZWxvcHBlIGxhIGZvbmN0aW9uIGRlIGRlbnNpdGUgZW4gdXRpbGlzYW50IGxlcyBwcm9iYSBjb25kaXRpb25uZWxlcy4gUHVpcyBsb2cgZXQgZXNwZXJhbmNlcyAob24gY2FsY3VsIHVuIHRlcm1lIGRlIGxhIHNvbW1lKQo1LiBxaSBjJ2VzdCBsZSBwYXJhbWV0cmUgZHUgYmVybm91aWxsaQoKIyMjIyNNLXN0ZXAKMS4gT24gY2hlcmNoZSBhIG1heGltaXNlciBsJ2V4cHJlc3Npb24gKGRlcml2YXRpb24gcGFyIHJhcHBvcnQgYSBwaSwgbXUgZXQgc2lnbWEpCgojIyNRdWVzdGlvbiAzCmR1bmlmKHgsLWEsYSkgPSBjIGRhbnMgdW4gY2FzIHBsdXMgZ2VuZXJhbApgYGB7cn0KbXVtID0gOQpzaWdtYW0gPSA4CnBpbSA9IDAuMgp0b2wgPSAxZS0yMDAKcWltIDwtIHJlcCgxLG4pCml0ID0gMCAKCndoaWxlIChUUlVFKXsKICBpdCA9IGl0ICsgMSAKICBxaSA8LSBxaW0KICBxaW0gPSAoZG5vcm0oeCxtdW0sc2lnbWFtKSpwaW0pIC8gKGRub3JtKHgsbXVtLHNpZ21hbSkqcGltICsgKDEtcGltKSpkdW5pZih4LC1hLGEpKQogIAogIGlmIChtZWFuKChxaS1xaW0pXjIpIDwgdG9sKQogICAgYnJlYWsKICAKICBwaW0gPSBtZWFuKHFpbSkKICBtdW0gPSBzdW0ocWltKngpL3N1bShxaW0pCiAgc2lnbWFtID0gc3FydCgoc3VtKHFpbSooeC1tdW0pXjIpKS9zdW0ocWltKSkKfQptdW0Kc2lnbWFtCnBpbQppdApgYGAKCgojIyMjRXN0aW1hdGlvbiBuYWl2ZQpFc3RpbWF0aW9uIG5haXZlIChzYW5zIHByZW5kcmUgZW4gY29tcHRlIGxlcyB2YWxldXJzIGFiZXJhbnRlcyksIGNvbW1lIHNpIGxlcyB2YWxldXJzIGV0YWllbnQgdW5lIGxvaSB1bmlmb3JtZSBwYXJmYWl0ZS4gCmBgYHtyfQptZWFuKHgpCnNkKHgpCmBgYApFbSBhcnJpdmUgYmllbiBhIHJldHJvdXZlciBsZSB2cmFpIGVjYXJ0IHR5cGUgcGFyIHJhcHBvcnQgYSBsJ2VzdGltYXRpb24gbmFpdmUgCgojIyMjVHJhY2UgcHJvYmFiaWxpdGUgZXN0aW1lZXMsIDEteWkgZW4gZm9uY3Rpb24geGkKCmBgYHtyfQpwbG90KHgsIDEtcWkpCmBgYApDJ2VzdCBsYSBwcm9iYWJpbGl0ZSBxdWUgbGEgdmFsZXVyIHNvaXQgYWJlcmFudGVzIChpLmUgaXNzdWUgZGUgbGEgbG9pZSB1bmlmb3JtZSkgLS0+IHBsdXMgb24gcydlbG9pZ25lIGRlIGwnZXNwZXJhbmNlLCBwbHVzIGxhIHByb2JhIGVzdCBmb3J0ZS4KCiMjI1F1ZXN0aW9uIDQKYGBge3J9CmxvZ2xpa21pbnVzIDwtIGZ1bmN0aW9uKHRoZXRhKXsKICBtdW0gPC0gdGhldGFbMV0KICBzaWdtYW0gPC0gdGhldGFbMl0KICBwaW0gPC0gdGhldGFbM10KICAtc3VtKGxvZyhkbm9ybSh4LCBtdW0sIHNpZ21hbSkgKiBwaW0gKyAoMSAtIHBpbSkgKiBkdW5pZih4LCAtYSwgYSkpKQp9CmBgYAoKT24gdmV1dCBsJ29wdGltaXNlciA6IG9wdGltKCkKCmBgYHtyfQpvcHRpbShjKDIsIDIsIDAuNiksIGxvZ2xpa21pbnVzKQpgYGAKCk1pbnVzIGNhciBvcHRpbSBtaW5pbWlzZSBsZXMgZGlmZmVyZW50cyBwcm9ibGVtZXMuIE1haXMgbmUgZ2FyYW50aWUgcGFzIHF1ZSBjJ2VzdCB1biBtaW5pbXVtIGdsb2JhbC4gRGUgcGx1cyBjZWxhIGZvbmNpdG9ubmUgdW5pcXVlbWVudCBjYXIgbGVzIGRpbWVuc2lvbnMgc29udCBmYWlibGVzLgoKCgojI0V4ZXJjaWNlIDIKCiMjI1dJTkUKYGBge3J9CmxpYnJhcnkobWNsdXN0KQpkYXRhIDwtIHJlYWQudGFibGUoIldpbmUtMjAxODExMjIvd2luZS50eHQiKQpkYXRhClkgPC0gZGF0YVstMV0KaGVhZChZKQpgYGAKClBhY2thZ2UgTWNsdXN0IDogCgogLSBkYXRhIAogLSBHIDogbm9tYnJlIGRlIG1lbGFuZ2UKIC0gbW9kZWxOYW1lcyA6IG9uIHBldXQgdGVzdGVyIGRlcyBtb2RlbGVzIGRpZmZlcmVudHMKIApgYGB7cn0KcmVzIDwtIE1jbHVzdChkYXRhID0gWSwgIEcgPSAzLCBtb2RlbE5hbWVzID0gIkVJSSIpCnJlcwpgYGAKcmVzJEcgPSBtZWlsbGV1ciBtZWxhbmdlIApyZXMkY2xhc3NpZmljYXRpb24gPSBxdWVsbGVzIHNvbnQgbGVzIGNsYXNzZXMgb2J0ZW51ZXMgaWNpIApgYGB7cn0KcmVzJEcKcmVzJGNsYXNzaWZpY2F0aW9uCmBgYApgYGB7cn0KZGF0YSRWMQpgYGAKRGlmZmljaWVsIGRlIGNvbXBhcmVyIGxlcyBkZXV4LCBjaG9peCBkdSBsYWJlbCBpbmRlcGVuZGFudC4gCk9uIHV0aWxpc2UgYWRqdXN0ZWRSYW5kSW5kZXggcG91ciBzYXZvaXIgc2kgZGVzIGNsYXNzaWZpY2F0aW9ucyBzb250IHByb2NoZXMgb3UgcGFzIApgYGB7cn0KYWRqdXN0ZWRSYW5kSW5kZXgocmVzJGNsYXNzaWZpY2F0aW9uLCBkYXRhJFYxKQpgYGAKQ2V0IGluZGljZSBlc3QgaW5mZXJpZXVyIGEgMS4gUEx1cyBvbiBzZSByYXBwb3JjaGUgZGUgMSwgcGx1cyBlbGxlcyBzb250IGVnYWxlcy4gKHNpID0xLCBlbGxlcyBzb250IGVnYWxlcyBhdXggbGFiZWxzIHByZXMpCkljaSBjJ2VzdCBwYXMgdGVycmlibGUuCgpPbiBuZSBzZSByZXN0cmVpbmQgcGFzIHN1ciBsZSBtb2RlbGUKYGBge3J9CnJlcyA8LSBNY2x1c3QoZGF0YSA9IFksICBHID0gMykKcmVzCnJlcyRjbGFzc2lmaWNhdGlvbgpkYXRhJFYxCmFkanVzdGVkUmFuZEluZGV4KHJlcyRjbGFzc2lmaWNhdGlvbiwgZGF0YSRWMSkKcmVzJG1vZGVsTmFtZQpgYGAKU2kgb24gYSBwYXMgbGUgbm9tYm5yZSBkZSBtZWxhbmdlLCBvbiBzZSBiYXNlIHN1ciBsYSBjb21wbGV4aXRlIGR1IG1vZGVsZSBwYXIgdW4gQmljIGV0IGxlIG5vbWJyZSBkZSBnYXVzc2llbm5lLiBJY2kgb24gYSBkZXMgZG9ubmVlcyBkZSBjbGFzc2VzIGRvbmMgb24gZXN0IHBsdXMgcHJlY2lzLgpJY2kgbGUgbWVpbGxldXIgbW9kZWxlIGVzdCA6IGVsbGlwc29pZGFsZSBhdmVjIGxhIG1lbWUgb3JpZW50YXRpb24uCgpJbmRlcGVuZGFudCBkdSBsYWJlbCAKYGBge3J9CmNsYXMgPC0gYygiYSIsICJiIiwgImMiKVtyZXMkY2xhc3NpZmljYXRpb25dCmNsYXMKYWRqdXN0ZWRSYW5kSW5kZXgoY2xhcywgZGF0YSRWMSkKYGBgCgpPbiByZXRyb3V2ZSBsYSBtZW1lIHZhbGV1ci4gTCdpbmRleCBkZSByYW5kIG1hcmNoZSBhdXNzaSBzaSBsZSBub21icmUgZCdlbnNlbWJsZSBkYW5zIDIgcGFydGl0aW9ucyBzb250IGRpZmZlcmVudHMgCmBgYHtyfQpyZXMgPC0gTWNsdXN0KGRhdGEgPSBZLCBHID0gNCkKYWRqdXN0ZWRSYW5kSW5kZXgocmVzJGNsYXNzaWZpY2F0aW9uLCBkYXRhJFYxKQpgYGAKYGBge3J9CnBsb3QocmVzLCB3aGF0ID0gIkJJQyIpCmBgYAoKYGBge3J9CnJlcyA8LSBNY2x1c3QoZGF0YSA9IFkpCnBsb3QocmVzLCB3aGF0ID0gIkJJQyIpCnBsb3QocmVzLCB3aGF0ID0gImNsYXNzaWZpY2F0aW9uIikKcGxvdChyZXMsIHdoYXQgPSAiZGVuc2l0eSIpCmBgYAoKIyMjU0VFRFMKCmBgYHtyfQpsaWJyYXJ5KG1jbHVzdCkKZGF0YSA8LSByZWFkLnRhYmxlKCJTZWVkcy0yMDE4MTEyMi9zZWVkcy50eHQiKQpoZWFkKGRhdGEpClkgPC0gZGF0YVstOF0KaGVhZChZKQpgYGAKCmBgYHtyfQpyZXMgPC0gTWNsdXN0KFkpCnJlcyRjbGFzc2lmaWNhdGlvbgphZGp1c3RlZFJhbmRJbmRleChyZXMkY2xhc3NpZmljYXRpb24sIGRhdGEkVjgpCmBgYApgYGB7cn0Kc3VtbWFyeShyZXMpCmBgYAoKCmBgYHtyfQpyZXMgPC0gTWNsdXN0KFksIG1vZGVsTmFtZXMgPSAiRUVWIikKcGxvdChyZXMsIHdoYXQgPSAiQklDIikKcGxvdChyZXMsIHdoYXQgPSAiY2xhc3NpZmljYXRpb24iKQpwbG90KHJlcywgd2hhdCA9ICJkZW5zaXR5IikKYGBgCgpPbiBhIDMgY2xhc3NlcyBlbiB2cmFpIG1haXMgb24gYXVyYWl0IGJlc29pbiBkZSA0IGNsYXNzZXMgcG91ciBtaWV1eCBkZWNyaXJlIGxlIGpldSBkZSBkb25uPz9lCmBgYHtyfQpyZXMgPC0gTWNsdXN0KFksIEcgPSAzKQpyZXMkY2xhc3NpZmljYXRpb24KYWRqdXN0ZWRSYW5kSW5kZXgocmVzJGNsYXNzaWZpY2F0aW9uLCBkYXRhJFY4KQpgYGAKCmBgYHtyfQpzdW1tYXJ5KHJlcykKYGBgCgojIyNFLkNPTEkKCmBgYHtyfQpsaWJyYXJ5KG1jbHVzdCkKZGF0YSA8LSByZWFkLnRhYmxlKCJFLmNvbGktMjAxODExMjIvZWNvbGkudHh0IikKaGVhZChkYXRhKQpZIDwtIGRhdGFbLTFdClkgPC0gWVstOF0KaGVhZChZKQpgYGAKCmBgYHtyfQpyZXMgPC0gTWNsdXN0KFkpCnJlcyRHCnJlcyRtb2RlbE5hbWUKcmVzJGNsYXNzaWZpY2F0aW9uCmFkanVzdGVkUmFuZEluZGV4KHJlcyRjbGFzc2lmaWNhdGlvbiwgZGF0YSRWOSkKCmBgYAoKYGBge3J9CnBsb3QocmVzLCB3aGF0ID0gIkJJQyIpCnBsb3QocmVzLCB3aGF0ID0gImNsYXNzaWZpY2F0aW9uIikKcGxvdChyZXMsIHdoYXQgPSAiZGVuc2l0eSIpCmBgYApTaSBvbiByZWdhcmRlIGxhIG1hdHJpY2UgZGUgdmFyaWFuY2UgY28tdmFyaWFuY2UgZGVzIHZhcmlhYmxlIDQgZXQgNSwgZWxsZXMgZGV2cmFpZW50IGV0cmUgdG91dGUgcGV0aXRlIApgYGB7cn0KZGF0YSRWNApgYGAKCg==